package examination.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import examination.*;

/**
 * 提供json字符串相关的方法
 * @author ChangingSelf
 */

public class JsonUtil {

	/**
	 * 将对象数组转换为可被layui数据表格识别的json字符串
	 * @param objects 待转化的对象数组
	 * @param code 状态码，0为成功
	 * @param msg 提示信息
	 * @param count 对象数组长度
	 * @return 可被layui数据表格识别的json字符串
	 */
	public static String toLayuiTableJson(Object[] objects,int code,String msg,int count) {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("code",code);//如果查询不到，则返回null
		jsonObject.put("msg",msg);
		jsonObject.put("count",count);
		
		JSONArray dataList = new JSONArray();
		if(objects!=null) {
			for(Object object:objects) {
				//将object转换为JSONObject
				JSONObject data = JSON.parseObject(JSON.toJSONString(object));
				dataList.add(data);
			}
		}
		jsonObject.put("data",dataList);
		return jsonObject.toJSONString();
	}
	/**
	 * 将对象数组转换为可被layui数据表格识别的json字符串，其他参数设置为默认值
	 * @param objects 待转化的对象数组
	 * @return 可被layui数据表格识别的json字符串
	 */
	public static String toLayuiTableJson(Object[] objects) {
		int code = 0;
		String msg = "";
		int count = objects==null?0:objects.length;
		
		return toLayuiTableJson(objects, code, msg, count);
	}
	 
	
	
	/**
	 * 测试代码
	 * @param args
	 */
	public static void main(String[] args) {
		InvigilatorBean[] invigilatorBeans = new InvigilatorBean[100];
		for(InvigilatorBean invigilatorBean : invigilatorBeans) {
			invigilatorBean = new InvigilatorBean();
		}
		String jsonString = toLayuiTableJson(invigilatorBeans);
		System.out.println(jsonString);

	}

}
